import {Controller, Get, Post, Body, Patch, Param, Delete, ParseIntPipe} from '@nestjs/common';
import {TagService} from './tag.service';
import {CreateTagDto} from './dto/create-tag.dto';
import {UpdateTagDto} from './dto/update-tag.dto';

@Controller('tag')
export class TagController {
    constructor(private readonly tagService: TagService) {
    }

    @Post()
    create(@Body() createTagDto: CreateTagDto) {
        return this.tagService.create(createTagDto);
    }

    /**
     * @desc：获取tags列表中，所有标签分类
     * 渲染在下拉框中
     * 请求方式： get
     * url: /tag
     * 参数：无
     *
     *
     * */
    @Get()
    findAll() {
        return this.tagService.findAll();
    }

    @Get(':id')
    findOne(@Param('id') id: string) {
        return this.tagService.findOne(+id);
    }

    /**
     * @desc:根据传入的user_id更新标签
     * 请求方式：patch
     * url：/tag/:id
     *
     * */

    @Patch(':id')
    update(@Param('id') id: string, @Body() updateTagDto: UpdateTagDto) {
        return this.tagService.update(+id, updateTagDto);
    }

    @Delete(':id/:tagId')
    removeTags(@Param('id', ParseIntPipe) id: number, @Param('tagId', ParseIntPipe) tagId: number) {
        return this.tagService.removeTags(id, tagId);
    }

    @Delete(':id')
    remove(@Param('id') id: string) {
        return this.tagService.remove(+id);
    }
}
